package org.fing.edu.uy.esbadp.core.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author JORGE
 * Entidad que representa una propiedad de las monitoreadas por el Amdminstrdor de Monitoreo.
 * Contiene el nombre de la propiedad y su valor correspondiente.
 */

public class PropertiesMonitoring implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private Map<String, Object> properties;
	
	public PropertiesMonitoring(){
		properties = new HashMap<String, Object>();
	}
	
	public void addPropertyMonitoring(String propertyName, Object value) {
		properties.put(propertyName, value);
	}

	public Object getPropertyValue(String propertyName) {
		return properties.get(propertyName);
	}
	
	public List<KeyValuePair> propertiesAsList() {
        List<KeyValuePair> oRet = new ArrayList<KeyValuePair>();
        if (null != properties){
            for (Map.Entry<String, Object> oCurr : properties.entrySet()){
                oRet.add(new KeyValuePair(oCurr.getKey(), oCurr.getValue().toString()));
            }
        }
        return oRet;
    }
	
}
